package com.example.xx.config;

import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

public class Jwt {
    public static void main(String[] args) {
        // 生成一个JWT的字符串
        String jwt = "";
        // 日历
        Calendar calendar=Calendar.getInstance();
        Date time = calendar.getTime();// 当前时间
        calendar.add(Calendar.HOUR,24);// 日历往后加24小时
        Date time1 = calendar.getTime();// 24小时之后的时间
        /**
         * 第一个参数是 加密的算法  第二个参数是密钥
         *
         * signWith(SignatureAlgorithm.HS256,"hxzy")
         * setIssuedAt()  设置签发时间
         * setExpiration() 过期时间
         */
        JwtBuilder qqqq = Jwts.builder().setExpiration(time1).setIssuedAt(time).signWith(SignatureAlgorithm.HS256, "qqqq");
        Map map = new HashMap();
        map.put("id","1");
        map.put("name","张三");
        qqqq.addClaims(map);// jwt第二个部分中有一个私有信息
        // 通过JwtBuilder对象的compact这个方法来生成JWT字符串
        jwt = qqqq.compact();
        System.out.println(jwt);


    }
}
